package com.example.shuiyin.service;

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jws;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import io.jsonwebtoken.security.Keys;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import java.security.Key;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.function.Function;
import java.nio.charset.StandardCharsets;

public interface JwtService {

    /**
     * 生成令牌
     */
    String generateToken(Long userId);

    /**
     * 验证令牌
     */
    boolean validateToken(String token);

    /**
     * 从令牌中提取Claims
     */
    Claims getClaims(String token);

    /**
     * 从令牌中提取用户ID
     */
    Long extractUserId(String token);
} 